package TXPathFinder;

/**
*       \class	Map3D
*	\brief	Definit la map 3D
**/
public class Map3D {
    
    private int[][] matrice;
    private int row;
    private int col;

    /**
    *	\brief	Constructeur - initialise une map vide sans mur, de dimension row * col
    *   \param row Nombre de ligne de la map
    *   \param col Nombre de colonne de la map
    **/
    public Map3D(int row, int col) {
        this.row = row;
        this.col = col;
        this.matrice = new int[row][col];
        for( int i = 0 ; i < row ; i++)
            for( int j = 0 ; j < col ; j++)
                matrice[i][j] = 0;
    }

    /**
    *	\brief	Accesseur
    *   \return Le nombre de colonne de la map
    **/
    public int getCol() {
        return col;
    }

    /**
    *	\brief	Accesseur
    *   \return Le nombre de ligne de la map
    **/
    public int getRow() {
        return row;
    }

    /**
    *	\brief	Set la valeur de la map aux à la position spécifiée (0 : pas de mur, 1 : un mur)
    *   \param x Position x de la map
    *   \param y Position y de la map
    *   \param value Valeur de la map à la position spécifiée
    **/
    public void setValueMap(int x, int y, int value)
    {
        matrice[x][y] = value;
    }


    /**
    *	\brief	Accesseur
    *   \return La matrice de valeur definissant la map
    **/
    public int[][] getMatrice() {
        return matrice;
    }

    /**
    *	\brief	Accesseur
    *   \param i Numero de ligne de la map
    *   \param j Numero de colonne de la map
    *   \return La valeur de la map aux coordonnées i et j
    **/
    public int getValue(int i, int j) {
        return matrice[i][j];
    }
}
